package ordersstatistics

import "yundian/internel/pkg/dingo"

// Analysis Model 统计临时表
type OrdersstatisticsModel struct {
	ID                 int        `gorm:"column:id" json:"id"`                            //
	PlaceId            int        `gorm:"column:place_id" json:"placeId"`                 // 商户ID
	PlaceName          string     `gorm:"column:place_name" json:"placeName"`             // 商户名称
	PlaceCreateAt      dingo.Time `gorm:"column:place_create_at" json:"placeCreateAt"`    // 商户创建时间
	SettlementMoney    int64      `gorm:"column:settlement_money" json:"settlementMoney"` // 结算金额 单位为：分          //
	OrderCount         int64      `gorm:"column:order_count" json:"orderCount"`           // 订单数
	SharedMode         string     `gorm:"column:shared_mode" json:"sharedMode"`           // 设备共享模型  pcl密码线充 cdb充电宝
	CreateAt           dingo.Time `gorm:"column:create_at" json:"createAt"`               // 创建时间
	Income             int64      `gorm:"column:income" json:"income"`                    // 分成后的收益
	AgentUserId        int        `gorm:"column:agent_user_id" json:"agentUserId"`        // 代理商ID
	DeviceCount        int        `gorm:"-" json:"deviceCount"`                           // 拥有设备数
	DeviceTotal        int        `gorm:"column:device_total" json:"deviceTotal"`         // 拥有设备数
	UsageRate          string     `gorm:"-"  json:"usageRate"`                            // 使用率
	Arpa               string     `gorm:"-"  json:"arpa"`                                 // 客单价
	DayMonth           string     `gorm:"-"  json:"dayMonth"`                             // 按月统计时间
	PlaceCost          int        `gorm:"-"  json:"placeCost"`                            // 商户成本
	TimeDay            string     `gorm:"-"  json:"timeDay"`                              // 投放天数
	MonthRecovery      string     `gorm:"-"  json:"monthRecovery"`                        // 回本周期
	OtherMonthRecovery string     `gorm:"-"  json:"otherMonthRecovery"`                   // 回本周期
	IncomeDay          string     `gorm:"column:income_day" json:"incomeDay"`             // 创建时间

}

// PlacestatisticsModel 网点统计表
type PlacestatisticsModel struct {
	ID                 int        `gorm:"column:id" json:"id"`                     //
	PlaceId            int        `gorm:"column:place_id" json:"placeId"`          // 商户ID
	SharedMode         string     `gorm:"column:shared_mode" json:"sharedMode"`    // 设备共享模型  pcl密码线充 cdb充电宝
	CreateAt           dingo.Time `gorm:"column:create_at" json:"createAt"`        // 创建时间
	AgentUserId        int        `gorm:"column:agent_user_id" json:"agentUserId"` // 代理商ID
	UsageRate          string     `gorm:"-"  json:"usageRate"`                     // 使用率
	Arpa               string     `gorm:"-"  json:"arpa"`                          // 客单价
	DayMonth           string     `gorm:"-"  json:"dayMonth"`                      // 按月统计时间
	PlaceCost          int        `gorm:"-"  json:"placeCost"`                     // 商户成本
	TimeDay            string     `gorm:"-"  json:"timeDay"`                       // 投放天数
	MonthRecovery      string     `gorm:"-"  json:"monthRecovery"`                 // 回本周期
	OtherMonthRecovery string     `gorm:"-"  json:"otherMonthRecovery"`            // 回本周期

	PlaceCreateAt   dingo.Time `gorm:"column:place_create_at" json:"placeCreateAt"`    // 商户创建时间
	Province        string     `gorm:"column:province" json:"province"`                // 用户所在省份
	City            string     `gorm:"column:city" json:"city"`                        // 用户所在城市
	PlaceName       string     `gorm:"column:place_name" json:"placeName"`             // 商户名称
	DeviceCount     int64      `gorm:"-" json:"deviceCount"`                           // 拥有设备数
	ScanCount       int64      `gorm:"-" json:"scanCount"`                             // 扫码量
	ActiveDevCount  int64      `gorm:"-" json:"activeDevCount"`                        // 有产设备量
	OrderCount      int64      `gorm:"column:order_count" json:"orderCount"`           // 订单量
	SettlementMoney int64      `gorm:"column:settlement_money" json:"settlementMoney"` // 销售额
	Income          int64      `gorm:"column:income" json:"income"`                    // 分成后的收益
}

type PlaceIncomeByDay struct {
	Total       int64  `gorm:"column:total" json:"total"`          // 累计收益
	PlaceId     int    `gorm:"column:place_id" json:"placeId"`     // 商户ID
	PlaceName   string `gorm:"column:place_name" json:"placeName"` // 商户名称
	DeviceCount int64  `gorm:"-" json:"deviceCount"`
}

// model init
func New() *OrdersstatisticsModel {
	return &OrdersstatisticsModel{}
}

// TableName
func (m *OrdersstatisticsModel) TableName() string {
	return "orders_statistics"
}

func (m *OrdersstatisticsModel) Mutate(attrs ...OrdersstatisticsAttr) *OrdersstatisticsModel {
	OrdersstatisticsAttrs(attrs).Apply(m)
	return m
}
